HeapVision:Debugging by Interactive Heap Navigation

نویسندگان

  • Jibin Ou
  • Martin Vechev
چکیده

With the proliferation of online source code repositories such as GitHub and BitBucket, programmers have instant access to countless code examples. With the availability of these resources the focus in software development shifts away from writing code towards understanding source code. Many common algorithms, that see a lot of reuse across different problem domains, involve complex manipulations of data structures and hence the program’s heap (e.g., sorting algorithms). Understanding these manipulations and the effect onto the heap’s structure is a cognitively demanding and complex task. However, despite the importance of such algorithms for many applications, there is little tool support build into current IDEs (Integrated development environment) to help programmers in understanding and debugging such algorithms and data structures. In particular, there currently does not exist any sophisticated tool to visually explore the heap structure and to interactively experience the impact of the algorithms instructions on the heap throughout the execution of the program. In the course of this thesis we have developed a tool called HeapVision, which allows for inspection of and interaction with dynamic visual representations of the heap structure. The interface allows programmers to more easily understand how a data structure and it’s content are modified by a particular sequence of instructions. Furthermore, we have developed a novel pen and touch based interface that allows developers to more directly interact with the running process and to concentrate on the essence of the program. Pen and touch gestures can be used to dynamically change the visual representation of the heap, allowing the user to concentrate on important parts of the heap. We leverage formal program analysis tools in order to automatically abstract away unimportant aspects of the heap, while keeping the parts of a data structure that are being manipulated concrete. In other words we aim to capture the essence of an algorithm’s manipulations so that the user may understand the underlying working principle. Our application can improve the comprehension of algorithms, especially for algorithms that manipulate data structures recursively – such as but not limited to reversing linked lists.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Effects of Pregnant Leach Solution Temperature on the Permeability of Gravelly Drainage Layer of Heap Leaching Structures

In copper heap leaching structures, the ore is leached by an acidic solution. After dissolving the ore mineral, the heap is drained off in the acidic solution using a drainage system (consisting of a network of perforated polyethylene pipes and gravelly drainage layers) and is, then, transferred to the leaching plant for copper extraction where the copper is extracted and the remaining solution...

متن کامل

Stability Analysis and Stabilization of Miduk Heap Leaching Structure, Iran

To construct copper heap leaching structures, a stepped heap of ore is placed over an isolated sloping surface and then washed with sulphuric acid. The isolated bed of such a heap consists of some natural and geosynthetic layers. Shear strength parameters between these layers are low, so they form the possible sliding surfaces of the heaps. Economic and environmental considerations call for stu...

متن کامل

Strukturiertes aktives Lernen von Algorithmen mit interaktiven Visualisierungen

During software development basic problems like sorting, searching and finding a shortest path must be solved. Computer science provides a wealth of algorithms and data structures for such problems. As algorithms can be difficult to understand it is important for computer science education to prepare their presentation well. This thesis presents a new method for the teaching of algorithms throu...

متن کامل

Extending tuplespaces for coordination in interactive workspaces

The current interest in programming models and software infrastructures to support ubiquitous and environmental computing is heightened by the falling cost of hardware and the ubiquity of local-area wireless networking technologies. Interactive workspaces are technologically augmented team-project rooms that represent a specific sub-domain of ubiquitous computing. We argue both from related wor...

متن کامل

The Event Heap: A Coordination Infrastructure for Interactive Workspaces

Coordinating the interactions of applications running on the diversity of both mobile and embedded devices that will be common in ubiquitous computing environments is still a difficult and not completely solved problem. We look at one such environment, an interactive workspace, where groups come together to collaborate on solving problems. Such a space will contain a heterogeneous collection of...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014